# 使用面向对象的思想，设计自定义类。描述出租车和叫用轿车的信息
# 出租车类型：属性包括：车型、车牌、所属出租公司；方法包括：启动、停止
# 家用轿车类型：属性车型、车牌、车主人姓名；方法包括：启动、停止
class Car:
    def __init__(self, type, no):
        self.type = type
        self.no = no

    def start(self):
        print('我是车，我能启动')

    def stop(self):
        print('我是车，我能停止')


# 出租车
class Taxi(Car):
    def __init__(self, type, no, company):
        super().__init__(type, no)
        self.company = company

    # 重写父类的启动方法和停止方法
    def start(self):
        print('乘车您好！', end='\t')
        print(f'我是{self.company}出租车公司，我的车牌是：{self.no}，您要去哪里？')

    def stop(self):
        print('目的地到了，请您扫码付款，欢迎下次乘坐！')


# 家用轿车
class FamilyCar(Car):
    def __init__(self, type, no, name):
        super().__init__(type, no)
        self.name = name

    def start(self):
        print('我是{0},我想开咋开！'.format(self.name))

    def stop(self):
        print('{0}，目的地到了，下车！'.format(self.name))


if __name__ == '__main__':
    # 测试
    taix = Taxi('上海大众', '京A88888', '长城')
    taix.start()
    taix.stop()

    print('-' * 20, '分割线', '-' * 20)

    family = FamilyCar('五菱', '京A666666', '张三')
    family.start()
    family.stop()
